//
//  NSData+TSData.m
//  WANJIETCPro
//
//  Created by lzw on 2021/8/30.
//  Copyright © 2021 com.liu.ceshiavplayer. All rights reserved.
//

#import "NSData+TSData.h"
#import "NSObject+SwizzleMethod.h"

@implementation NSData (TSData)

+ (void)load {
    
    // 使用这种写法可以
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        // 方式一： 同时使用一个方法 完成类方法 和对象方法的交换方法
//        [self swizzleMethod:self orgSel:@selector(initWithBase64EncodedString: options:) swizzSel:@selector(swinitWithBase64EncodedString: options:)];
//        [self swizzleMethod:object_getClass(self) orgSel:@selector(classMethod) swizzSel:@selector(swizzeClassMehtod)];

        // 方式二：类方法 对象方法分别用不同的方法
//        [self swizzleMethod:self orgSel:@selector(instanceMethod) swizzSel:@selector(swizzeInstanceMehtod)];
//        [self swizzleClassMethod:self orgSel:@selector(classMethod) swizzSel:@selector(swizzeClassMehtod)];
    });
    
}

- (nullable instancetype)swinitWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options {
    
    
    
   return [[NSData alloc] swinitWithBase64EncodedString:base64String options:options];
    
}

//- (void)swizzeInstanceMehtod {
//    NSLog(@"调用了交换后的对象方法");
//}
//
//+ (void)swizzeClassMehtod {
//    NSLog(@"调用了交换后的类方法");
//}

@end
